package com.test50_JVM;

import java.util.ArrayList;
import java.util.List;

/**
 * OOM异常（OutOfMemoryError）
 * -Xmn 设置新生代堆内存大小
 * -Xss 设置每个线程栈的大小
 *
 * -Xlog:gc* 显示全部GC日志信息，JDK9引入
 * -XX:+PrintCommandLineFlags 显示JVM启动参数
 *
 * VM options：-Xmx32m -Xms32m -Xmn8m -Xss256k -Xlog:gc*
 * -XX:+UseG1GC
 * -XX:+UseZGC
 */
public class Demo02_OOM {

    public static String base = "yootk.com";

    public static void main(String[] args) throws Exception {
        List<String> list = new ArrayList<>();
        for (int x = 0; x < Integer.MAX_VALUE; x++) {
            // TimeUnit.SECONDS.sleep(2);
            String str = base + base;
            base = str;
            list.add(str.intern());  // 强制入池
        }
    }
}
